#include "adapter.h"
#include "duck.h"
#include "turkey.h"

#include "adapter.cpp"
#include "duck.cpp"
#include "turkey.cpp"

void Test()
{
    // 创建一只鸭子
    MallardDuck mallardDuck;
    // 创建一只火鸡
    WildTurkey wildTurkey;
    // 创建火鸡适配器
    TurkeyAdapter turkeyAdapter(&mallardDuck);
    // 创建鸭子适配器
    DuckAdapter duckAdapter(&wildTurkey);

    // // 这是一只有梦想的鸭子，他想要成为火鸡
    duckAdapter.Quack();
    duckAdapter.Fly();

    // // 这是一只有梦想的火鸡，他想要成为鸭子
    turkeyAdapter.Gobble();
    turkeyAdapter.Fly();
}

int main()
{
    Test();
    return 0;
}